Cappuccino (application development framework)

Cappuccino
Developer(s) 280 North, Inc., and community.
Written in JavaScript/Objective-J
Operating system Cross-platform
License LGPL
Website http://cappuccino.org/

Cappuccino is an open source application development framework for developing web applications that look and feel like desktop applications on Mac OS X. Cappuccino was developed by University of Southern California graduates Francisco Tolmasky, Tom Robinson and Ross Boucher, who are also the three founders of 280 North, Inc. It is primarily targeted towards high-end web applications developers.

Cappuccino consists of two distinct components: a programming language called Objective-J and an object-oriented library which is the Objective-J port of several of the Cocoa frameworks, namely Foundation Kit, Application Kit, CoreGraphics, and CoreAnimation.

Contents

Objective-J

Objective-J adds traditional inheritance and Smalltalk/Objective-C message calls to JavaScript. Objective-J shares the same relationship with JavaScript as Objective-C shares with C, so it is a strict superset of JavaScript. Programs written in Objective-J are almost identical to their counterpart written in Objective-C and simple Objective-C programs compile correctly as Objective-J programs. The Objective-J compiler is totally written in JavaScript and programs written in Objective-J do not need any server side compilation, as they are directly compiled on the client side by the Objective-J compiler.

Features and advantages

Even though the Cappuccino framework uses standard web technologies for web page rendering, such as JavaScript, the browser Document Object Model, and Cascading Style Sheets, it is not a classical JavaScript widget library such as ExtJs, jQuery or Prototype. Cappuccino developers never need to directly manipulate the DOM or design CSS documents. Instead, those tasks are handled by Cappuccino, permitting the application developer to focus on the implementation of application features without being distracted by specifics of the rendering mechanism. Cappuccino, being compiled directly in the web browser, is agnostic of the server-side logic. As such, PHP or Ruby, for instance, may be used for the back-end logic of an application.

Compatibility

Cappuccino is compatible with many of the latest browsers, including: Internet Explorer 7+, Firefox 2+, Safari 3+, Opera 9+, and Google Chrome.

Differences from other frameworks

Cappuccino differs from other frameworks as it provides a complete abstraction from the DOM (Document Object Model), whereas other frameworks and libraries rely on the user understanding the DOM, and traditional web technologies. Cappuccino doesn't require previous knowledge about web technologies. Cappuccino implements the latest HTML5 features while still abstracting out the less than pretty parts through a Cocoa-like API. Views are manipulated using an API that doesn't require CSS or DOM manipulation.

Applications

The first widely known web application written in Objective-J/Cappuccino was 280 Slides, an online presentation preparation system. 280 Slides features the ability to import existing documents, an autosave recovery, is able to save documents as Microsoft PowerPoint, PDF, and OpenDocument formats, and has a wide range of themes.

Since then, numerous other applications have been built on the Cappuccino framework. Notable examples include Mockingbird, a collaborative online wireframing tool, PicsEngine, a personal photo library on the web, GitHub issues, a front-end to GitHub's issues tracker, Spot Specific Apps a la Carte, an online mobile app authoring tool, Archipel, a XMPP orchestrator to manage virtualization, and Akshell, a cloud-based JavaScript development platform.

External links